home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
GENELOGY
/
FAMILY.LZH
/
FAMILY.DOC
< prev
Wrap
Text File
|
1985-11-02
|
19KB
|
428 lines
Family program documentation Version 1.3 Page 1
by
John Steed
6907 Childsdale
Rockford, MI 49341
Please share copies of this program with others. If you find this program to
be useful to you, please send $10 donation to John Steed. Also, if you have
suggestions for improvements, send them along.
OVERVIEW: (program written in basic for IBM PC, PCjr, and compatables)
The program will allow you to add, modify, display and print names and
information about family members (one side of your family). When printing, or
displaying you have the option of also showing the relationship of everyone to
one person. You can print several times, and each time show how everyone is
related to a different person. (You can give everyone at the family reunion
their own copy showing how they specifically are related to everyone else.)
When you are adding all the names to the file, you do not enter relationships
for everyone. The program will do all the computation. All you enter as far
as relationship is concerned is the code number of the person's parent.
All of your family information is stored in the disk file named FAMLFILE.JRS
GENERAL:
The program is designed to hold all the descendants of one person. For
example, you can enter your great-great-grandfather and all his descendants.
(Which would include you and your children, of course.) For each person you
enter, you must first type the code number of the person's parent. (When
adding the very first person to the file, in this case, your great-great-
grandfather, you type 0 (zero) as the person's parent's code number.) The
program will assign a code number for each person added. That code number is
then used when adding the person's children. The program will assign each
person to a generation level. For example, if a person is located at
generation level 40, then that person's children are at level 41. This level
number is then used to compute relationships. All relationships are computed
automatically. You can do a printout showing how everyone is related to you,
or to your parent, or to anyone who is in the file. The program is currently
designed to compute relationships as far as nine generation levels apart.
When you are adding someone, you can enter the following information:
1. PARENT #
2. PERSON'S NAME
3. SEX M or F
4. BORN DATE
5. DIED DATE
6. MARRIED DATE
7. SPOUSE NAME
8. SPOUSE BORN
9. SPOUSE DIED
10. EXTRA
Family program documentation Version 1.2 Page 2
The first three lines are required information. The rest is optional. The
parent # is the code number of this person's parent. You must enter parents
before their children. The sex is needed when printing relationships, so the
program can tell the aunts from the uncles, etc.
The field called PERSON'S NAME and the field called SPOUSE NAME can each hold
a maximum of 30 characters. All date fields are 8 characters long and should
be entered as MMDDYYYY. In other words, 2 digits for month, 2 digits for
day, and 4 digits for year.
The extra field (which holds 6 characters) may be useful if you want to print
out some other information about the person. For example if you are getting
your information from a family history book, you can use the extra space to
show the page number where this person is recorded. When you print, you have
the option to print the extra field. You are allowed to use commas, if you
want, in both the names and extra field.
When you are adding someone to the file, you do NOT add the children's
information on the same screen as the person you are adding. In order to add
the children, you use the add routine for each child. The program will update
the parent's record as you add the children.
The computer can remember a maximum of 15 children for each person. When you
are looking at the information about a person on the screen, it can only show
the numbers of the first 10 children, but a printout will handle all 15. When
you add someone, that person's information is written to the disk, and the
parent's information is updated to show the code number of the new child just
added. In other words, each person's record has a link back to the parent
plus a link to each child. Since the program automatically adds the
children's link to the parent record, it is important that you enter the
children of a person in the correct order. In other words, if your uncle Pete
had three sons, John, Jim, and Jack, then enter John, then Jim, then Jack. (If
you enter Jack first, he will appear to be older when you do a printout.) If
you do make a mistake and enter them in the wrong order, or leave someone out,
it can be corrected. (see appendix A.)
When you start adding information, the program will return to the add routine
after each person is added. To exit from the add routine, push just enter
when prompted for the first line (the PARENT #).
The current version will only take one spouse's name, so if a person has
remarried, you must pick which name you want printed.
The printing routine assumes your printer can print 132 characters in
compressed (or condensed) mode. It sends the code CHR$(15) to put the printer
in compressed mode. This works fine for Star and Epson printers. If you have
a wide carriage printer, you may want to eliminate the sending of the CHR$(15)
code.
It is recommended that you have a file called CONFIG.SYS on the disk you boot
from. This file should contain the line:
BUFFERS=40
That will make the computation of relationships go faster, since it wont have
to read the disk as often.
Family program documentation Version 1.2 Page 3
GETTING STARTED:
The program is written in BASIC. Start BASIC with the command BASICA/S:200 so
that the disk buffer area is large enough. (If you forget to do this, you will
get an error message on the OPEN line.) Then load the program from basic.
The program name is FAMILY so type LOAD "FAMILY". Then type RUN. All the
information about your family is stored in the disk file "FAMLFILE.JRS"
If you have a file called FAMILY.BAT on your disk which contains the line:
BASICA FAMILY/S:200
you may then start the program by just typing FAMILY at the A> prompt.
The first person you enter should be your grandparent or great grandparent.
Then enter all the children of that person. Then add the children of each of
those children, etc. You do not need to add ALL the children before adding
anyone from the next generation, but you cannot add a person until you have
added his or her parent. (Actually you can add children first if you HAVE to,
but the program is designed to add parents before children - see appendix A to
add a parent of someone who is already in the file.)
* Start by adding your grandparent or his or her ancestor.
When you add your first person, type 0 (zero) for the person's
parent's number. That means that the person you are adding has
no parent in the file. The program will then assign that person to
level 40. The children of that person will be at generation level 41,
the grandchildren at level 42 and so on.
* Don't add anyone unless you have previously entered the person's
parent. (Except for first person added.)
* Add the children in one family in the correct order. Oldest first.
* When a date is entered, enter as MMDDYYYY. For example, the date of
5/4/1954 must be entered as 05041954. Do NOT type any / or -. The
/ symbols will be added when printing. If you don't have complete
date information, you can just push enter, or type underlines for the
unknown part. (e.g. 05__1954 if you only know the month and year.)
* After you add someone, the program will tell you the person's code
number. You will need to use that number to add that person's
children. After several names are entered, you can do a printout that
shows each person's code number. Otherwise, write down the code
numbers that are assigned to everyone, since you may need them.
* If you need to add a parent of someone who is already entered (for
example you just discovered the name of your great-great-great-
grandfather) see appendix A.
Family program documentation Version 1.2 Page 4
* When you are typing on a line, do not use the up or down arrow keys.
* If you make a mistake, and are past the line where the mistake is,
just continue, and when you have entered the 10 lines, the program
will ask you if you need to correct any lines. If so, type the line
number you need to change and push enter. The cursor will go up to
that line so that you may make the correction. After making all
corrections, just push enter to write the record to disk.
* When you are entering names, you may want to use maiden names. (It's
up to you - I just thought I would suggest it.)
* Use the MODIFY routine to correct information. If you need to modify
a parent number or child number, read APPENDIX A first.
* If you want to LOOK at a person's information, use the modify routine.
Then after looking, just push enter.
* The dates are optional. If you enter them, they will be printed.
The disk must contain a file called "FAMLFILE.JRS" which will store the
information. When first starting out this file will be of length zero. Each
record added will take up 197 bytes (characters).
When printing, the dates will have slashes (/) added automatically. Each
generation level will be indented further than the previous one.
Family program documentation Version 1.2 Page 5
APPENDIX A. HOW TO CORRECT PROBLEMS
If you are correcting ONLY spelling or dates, use MODIFY and read no further.
Basically, each person's record MUST contain the correct number for the
person's parent and the correct numbers for the person's children. If any
record in the file has one of those fields wrong, you have a problem.
IF YOU ENTERED SOMEONE'S CHILDREN IN THE WRONG ORDER, do the following. First,
you may want to finish entering all the person's children. Then, make sure
that you know the code numbers of each of the person's children. Then modify
the parent. Type the parent's code number and the parent's information will
appear on the screen. The children's code numbers will show near the bottom.
The first child you entered will be the first code number showing, the second
child you entered will be listed second, etc. You can correct the order on
the screen by retyping the code numbers in the correct order. Make sure the
code number shown for first child is the actual first child, etc. Do not
make up any code numbers, and be careful you don't make a mistake since you
can cause an infinate loop if you put one of the person's ancestors as his
child.
IF YOU ENTERED SOMEONE WITH THE WRONG PARENT NUMBER, you can correct it by
doing the following. First, modify the record of the person you said was the
parent, but was not. When the wrong parent's record is showing on the screen,
find the incorrect code number which is displayed as one of the children. If
it is the last child listed, just enter blanks in its place.
If it is not the last child, enter the next child shown where the wrong code
is. Then move each of the children's code numbers up one line and erase the
position where the last child originally was. Do not leave any blanks between
the children's codes. (The first child must be in the first position, the
second in the second, etc.)
After fixing the wrong parent's record, you must fix the person's record where
you entered the wrong parent number. Display that record and fix the parent
number to the correct one.
Lastly, you must display the correct parent record and add the person's code
as a child. Again, be sure the children are in the correct order and there
are no spaces between children.
IF YOU NEED TO ADD A PARENT OF SOMEONE WHO IS ALREADY IN THE FILE, do the
following. First, you need to know the LEVEL number of the person who is in
the file. When the person's record shows on the screen, the LEVEL number is
shown near the bottom of the screen. When you add the person's parent, the
parent must have a LEVEL of 1 less than the child. For example, if the child
is LEVEL 15 the parent must be LEVEL 14. Add the parent. When asked for the
parent # of the person you are adding, type 0 (zero). The program will then
ask for the LEVEL number. Type the number you computed. Then type the rest
of the information. Since you already entered one or more children for this
person, also type in the children's code numbers for the person you are
adding. Then go to each of the children of this person and type in the new
parent's code number for his or her parent number (top line).
Family program documentation Version 1.2 Page 6
APPENDIX B. A LITTLE EXPLANATION ABOUT RELATIONSHIPS:
Your uncle is the brother of your father or mother.
Your aunt is the sister of your father or mother.
Your great uncle (or grand uncle) is the brother of your grandfather or
grandmother.
Your great aunt (or grand aunt) is the sister of your grandfather or
grandmother.
Your great-great uncle is the brother of your great-grandfather or
great-grandmother.
Your great-great aunt is the sister of your great-grandfather or
great-grandmother.
Your first cousin is the child of your aunt or uncle.
Your second cousin is the grandchild of your great aunt or great uncle.
(If two people are first cousins, the children of each of the people will
be second cousins.)
Your third cousin is the great-grandchild of your great-great uncle or
great-great aunt. (Children of two second cousins, will be third cousins.)
Your first cousin, once removed, is the child of your first cousin or is the
child of your great uncle or great aunt. (see also REMOVED COUSINS)
If someone is your first cousin, then his or her child is your first
cousin once removed. (Once removed means one generation level different
from you.) All your regular cousins (first, second, etc.) are at the same
generation level as yourself. Those at different levels are "removed".
If someone is YOUR first cousin once removed, then you are HIS or HER
first cousin once removed also.
Your second cousin once removed is the child of your second cousin.
Your first cousin twice removed is the child of your first cousin once
removed. (The grandchild of your first cousin.)
Your second cousin twice removed is the child of your second cousin once
remove. (The grandchild of your second cousin.)
REMOVED COUSINS:
If two people are some type of cousins, but they are at different generation
levels, then here is the way to compute their relationship. (The program does
this automatically when printing, but you may want to know what it is doing.)
1. Count how many generation levels they are apart. This is the number
they are "removed".
2. Start with the one at the highest generation level (the older level)
and count how many generations up you must go to find the brothers
or sisters that are the ancestors of these cousins. This is the
"FIRST" or "SECOND" or "THIRD" part of the cousin relationship.
GREAT-GRANDFATHER
/ \
GRANDFATHER GREAT-UNCLE
/ \ \
FATHER UNCLE 1st COUSIN ONCE REMOVED
/ \ \ \
:YOU: BROTHER 1st COUSIN 2nd COUSIN
/ \ \ \
SON NEPHEW 1st COUSIN ONCE REMOVED 2nd COUSIN ONCE REMOVED
/ / \ \
GRANDSON GRAND-NEPHEW 1st COUSIN TWICE REMOVED 2nd COUSIN TWICE REMOVED
/ \ \
GREAT-GRAND-NEPHEW 1st COUSIN THRICE REMOVED 2nd COUSIN THRICE REMOVED
Family program documentation Version 1.2 Page 7
APPENDIX C. SAMPLE PRINTOUT.
Below is an example of a printout. Note that each new generation is indented.
All relationships such as UNCLE, COUSIN, etc. are computed by the program.
* JOSEPH P. JONES (12/20/1895) - (03/05/1949) m. SUSAN SMITH (01/05/1902 -
(GRANDFATHER)
* JOHN JONES (05/19/1920 - m. (12/07/1940) MARY GREEN (08/05/1921 -
(UNCLE)
* BILL JONES (03/23/1942 -
(FIRST COUSIN)
* MARY JONES (02/04/1944 - m. (03/04/1964) PETER WHITE
(FIRST COUSIN)
* FRANK WHITE (05/04/1971 -
(FIRST COUSIN ONCE REMOVED)
* MARTHA JONES (09/19/1923 - 11/17/1981)
(AUNT)
* GEORGE JONES (12/13/1926 - m. (01/05/1949) LOIS WILSON (03/18/1927 -
(FATHER)
* CAROL JONES (05/18/1953 -
(SISTER)
* JACK JONES (05/03/1955 - m. (08/23/1977) MICHELE MITTER (07/22/1955 -
(MYSELF)
* MARTHA JONES (04/03/1981 -
(DAUGHTER)
APPENDIX D. CHANGES FROM PRIOR VERSIONS.
Version 1.3 contains the following changes.
1. The lines for children's numbers are no longer on the add screen.
2. When modifying, the parent's name also shows. Also person's name is
bold.
3. When adding, the previous person's name and number show at the bottom.
4. When displaying, family names are bold.
5. After adding or modifying, the write buffer is written to disk in case
disk is removed before typing S to stop.
6. Additional error handling added.
Version 1.2 contains the following changes from version 1.1.
1. There is now the option to display instead of print.
2. The FAMLFILE.JRS file can be sorted with SORT since each record
now ends with a carriage return and line feed.
3. Additional error handling routines were added.